草庐IT

c++ - std::cin 上的 std::getline

全部标签

Windows 7 (64) 上的 C++ CreateProcess 错误代码 2 ("ERROR_FILE_NOT_FOUND")

我正在尝试创建一个简单的程序来测试Windows7(64)上C/C++中的CreateProcess()函数。当我直接传递CommandLine(“szCmdline”)参数时,它工作正常,但如果我尝试通过从argv获取参数并传递给函数来发送参数,我会在运行时收到“错误代码2(”ERROR_FILE_NOT_FOUND“)”.我正在寻找解决方案并在这个论坛上找到了“CreateProcess-fails-under-windows-7”,但它似乎对我不起作用或者我做错了什么。这是NewProcess()代码:voidNewProcess(TCHAR**cmd){printf("Argv

c - Win32 - 在创建窗口之前拦截窗口的更好方法

我正在尝试自动化外部Windows应用程序。目标是在不显示任何事件窗口/启动画面且不从其他应用程序窃取焦点的情况下使此应用程序最小化启动。我用C编写了一个小程序,它在循环中调用EnumWindows()并使用ShowWindow()来最小化所需的窗口。它非常快,在80%的情况下都有效。不幸的是,有时应用程序窗口仍在显示并在短时间内窃取焦点。拦截窗口的更好(确定)方法是什么?使用SetWindowsHookExHook是唯一的选择吗? 最佳答案 您是否尝试过使用STARTUPINFOstructure的wShowWindow成员?你传

c - 自动检测 C 中的操作系统并处理其特定的换行符

有没有办法检测编译C代码以处理文本文件中特定换行符的操作系统?例如,我在Windows机器上编译我的代码,它应该使用\r\n作为文本文件中的换行符,在Linux上它应该只使用\n。我需要这个程序来读取二进制文本文件并将文件的子字符串与其他字符串匹配。这应该适用于Windows和Linux。感谢您的帮助! 最佳答案 您不需要知道native存储格式。当读取一个文件时,您无法知道它是在Windows、Linux还是其他系统上创建的——它可能是在您正在使用的系统之外的另一个系统上创建的。当编写时,您的程序将使用操作系统的native库并输

c++ - SDL2 为假全屏切换 SDL_WINDOW_RESIZABLE 状态

要在没有模式集的情况下在SDL2中创建一个“假的”全屏窗口,您可以使用类似这样的方法创建一个无边框的最大化窗口。intidx=SDL_GetWindowDisplayIndex(g_displayWindow);SDL_Rectbounds;SDL_GetDisplayBounds(idx,&bounds);//SDL_SetWindowResizable(g_displayWindow,SDL_FALSE);SDL_SetWindowBordered(g_displayWindow,SDL_FALSE);SDL_SetWindowPosition(g_displayWindow,bo

windows - 如何在 Windows 上的 x86-64 架构上的程序集中注册结构化异常处理程序?

在x86中,您可以使用以下3条指令简单地注册您的处理程序。pushaddrOfExceptionHandlerpushdword[fs:0]mov[fs:0],esp但这不适用于64位Windows。我读过x64异常处理程序是基于表的,VisualC++的__try和__exceptblock硬连接到异常目录中。这是否意味着微软完全放弃了这种旧方法?那么有没有办法从代码中以编程方式注册处理程序? 最佳答案 Windowsx64使用基于表的异常处理(与使用基于帧的处理的x86不同)。每个图像都有一个与其关联的RUNTIME_FUNCT

c++ - 使用 COM 在 Windows 上的本地计算机上进行进程间通信

我正在研究使用COM和C++在Windows上进行进程间通信的选项。我找到了thisarticleonMSDN,提供了Windows的进程间通信选项列表,COM就是其中之一。但是,不幸的是,COM选项只列出了很多细节。有人对如何在Windows上使用COM进行进程间通信有任何关于文档或其他资源的指示吗?我对与远程机器通信不感兴趣(所以:没有DCOM);我只对同一台本地计算机上的进程间通信感兴趣。想法是定义一些自定义的COM接口(interface)来实现一些自定义的通信协议(protocol),然后有一个服务器程序和一个客户端程序(每个程序都在自己的进程中,运行在同一台本地机器上),并

windows - 如何在 Windows 上的 Node.js 中创建全局命令

我一直在尝试创建全局命令,这些命令将在Node.js的Windows上的“命令提示符”中运行。不幸的是,所有教程似乎都是针对Mac/Linux的。这通常不会成为问题,但是当我完全遵循它们并使用不同的目录字符串格式和位置以使其与Windows兼容时,Node.js无法准确解析链接。我能够让它工作的唯一方法是进入Node在运行“npmlink”后生成的“Windows命令”文件并手动调整值。这可行,但似乎不是最佳解决方案。我使用的“目录标识符”是:#!C:\Users\-我的用户名-\AppData\Roaming\npm\"envnode"生成的Node.js“Windows命令”(不起

c - 写入文件时获得不同的输出

我编写了一个程序来保存足球队的统计数据。我将统计数据保存在一个文件中,并将所有匹配项记录在另一个名为“record.txt”的文件中。在我的record.txt文件中,写的格式是:[opponentname][currentdate]我面临的问题是,有时我在一行中得到“对手姓名”“日期”,有时日期在新行中开始这是我得到的图像picofoutputfile这是我的代码time_trawtime;structtm*timeinfo;charbuffer[80];time(&rawtime);timeinfo=localtime(&rawtime);strftime(buffer,80,"%

c++ - 可移植可执行 DOS header 长度

我一直在研究这个图像来构建一个可移植的可执行文件:https://i.imgur.com/LIImg.jpg图像/演练表示PEheader从0x40(十进制为64)开始。但是,十六进制转储显示DOSheader的长度为32字节。每个字段是否以4个字节打包?查看WinNT.h中的IMAGE_DOS_HEADER,好像也不合适。它有16个2字节的字段,一个4长度的2字节数组,一个10长度的2字节数组,以及指向PE位置的4字节指针。无论你怎么看,它加起来都不等于64... 最佳答案 However,thehexadecimaldumpsa

vb.net - 是否可以使用 vb.net 在网络上的另一台机器上重建 Windows 搜索索引?

有没有人找到使用vb.net在另一台机器上远程重建Windows索引的方法?我知道可以使用控制面板中的“索引选项”来完成,但不确定是否有可以通过VB调用的函数或设置来触发它。欢迎任何想法/想法/技巧。问候 最佳答案 我发现通过更改注册表认为它无法更新索引会提示Windows在重新启动时重新索引。这可以通过传入您要重建的计算机名称来远程完成。DimMyRegistryAsMicrosoft.Win32.RegistryKeyMicrosoft.Win32.RegistryKey.OpenRemoteBaseKey(Microsoft.